package com.hyq.prototype.demo2;

import java.util.Random;

/**
 * 客户端
 * 
 * @author Janus
 */
public class Client {
	
	public static void main(String[] args) {
		/**
		 * 浅拷贝不会拷贝对象内部的数组、引用对象等都不会拷贝，clone方法只拷贝本对象。且两个对象共享了一个私有集合List。 安全性不高，不建议使用。
		 */
		// 创建浅拷贝实例
		ShallowCopyMail mail = new ShallowCopyMail();
		// 设置一个对象的值
		mail.setListValule("张三");
		// 拷贝对象
		ShallowCopyMail cloneMail = mail.clone();
		// 设置拷贝对象的值
		cloneMail.setListValule("李四");

		System.out.println("浅拷贝结果："+mail.getListValue()+"==========="+cloneMail.getListValue());
		/**
		 * 深拷贝创建的两个实例对象没有关系相互独立，互不影响。
		 */
		// 创建深拷贝实例
		DeepCopyMail mail2 = new DeepCopyMail();
		// 设置一个对象的值
		mail2.setListValule("张三");
		// 拷贝对象
		DeepCopyMail cloneMail2 = mail2.clone();
		// 设置拷贝对象的值
		cloneMail2.setListValule("李四");

		System.out.println("深拷贝结果："+mail2.getListValue()+"====="+cloneMail2.getListValue());

	}
}
